/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.client.om.impl;

import fr.generali.accueilclient.client.om.ICoordonneeBancaire;

/**
 * Implémentaion de {@link ICoordonneeBancaire}
 * 
 * @author selrhazala
 */
public class CoordonneeBancaire implements ICoordonneeBancaire {

    /**
     * identifiant du rib
     */
    private String identifiant;
    
    /**
     * numéro d'ordre du rib
     */
    private String numOrdre;

    /**
     * Nom du titulaire du compte
     */
    private String titulaire;
    
    /**
     * Nom de la banque
     */
    private String nomBanque;
    
    /**
     * Le code établissement
     */
    private String codeBanque;

    /**
     * Le code guichet
     */
    private String guichet;

    /**
     * Le numéro de compte
     */
    private String compte;

    /**
     * La clé du compte
     */
    private String cle;
    
    /**
     * L'IBAN complet
     */
    private String ibanComplet;
    
    /**
     * Le champ 1 de l'IBAN
     */
    private String iban1;
    
    /**
     * Le champ 2 de l'IBAN
     */
    private String iban2;
    
    /**
     * Le champ 3 de l'IBAN
     */
    private String iban3;
    
    /**
     * Le champ 4 de l'IBAN
     */
    private String iban4;
    
    /**
     * Le champ 5 de l'IBAN
     */
    private String iban5;
    
    /**
     * Le champ 6 de l'IBAN
     */
    private String iban6;
    
    /**
     * Le champ 7 de l'IBAN
     */
    private String iban7;
    
    /**
     * Le champ 8 de l'IBAN
     */
    private String iban8;
    
    /**
     * Le champ 9 de l'IBAN
     */
    private String iban9;
    
    /**
     * Le champ BIC
     */
    private String bic;
    
    /**
     * Indicateur de compte principal
     */
    private boolean principal;

    /**
     * {@inheritDoc}
     */
    public String getIdentifiant() {
        return identifiant;
    }

    /**
     * {@inheritDoc}
     */
    public void setIdentifiant(String identifiant) {
        this.identifiant = identifiant;
    }
    
    /**
     * {@inheritDoc}
     */
    public String getNumOrdre() {
        return numOrdre;
    }

    /**
     * {@inheritDoc}
     */
    public void setNumOrdre(String numOrdre) {
        this.numOrdre = numOrdre;
    }

    /**
     * {@inheritDoc}
     */
    public String getTitulaire() {
        return titulaire;
    }

    /**
     * {@inheritDoc}
     */
    public void setTitulaire(String titulaire) {
        this.titulaire = titulaire;
    }

    /**
     * {@inheritDoc}
     */
    public String getNomBanque() {
        return nomBanque;
    }

    /**
     * {@inheritDoc}
     */
    public void setNomBanque(String nomBanque) {
        this.nomBanque = nomBanque;
    }

    /**
     * {@inheritDoc}
     */
    public String getCodeBanque() {
        return codeBanque;
    }

    /**
     * {@inheritDoc}
     */
    public void setCodeBanque(String etablissement) {
        this.codeBanque = etablissement;
    }

    /**
     * {@inheritDoc}
     */
    public String getGuichet() {
        return guichet;
    }

    /**
     * {@inheritDoc}
     */
    public void setGuichet(String guichet) {
        this.guichet = guichet;
    }

    /**
     * {@inheritDoc}
     */
    public String getCompte() {
        return compte;
    }

    /**
     * {@inheritDoc}
     */
    public void setCompte(String compte) {
        this.compte = compte;
    }

    /**
     * {@inheritDoc}
     */
    public String getCle() {
        return cle;
    }

    /**
     * {@inheritDoc}
     */
    public void setCle(String cle) {
        this.cle = cle;
    }

    /**
     * {@inheritDoc}
     */
    public boolean isPrincipal() {
        return principal;
    }

    /**
     * {@inheritDoc}
     */
    public void setPrincipal(boolean principal) {
        this.principal = principal;
    }
    
    /**
     * {@inheritDoc}
     */
    public String getIbanComplet() {
        return ibanComplet;
    }

    /**
     * {@inheritDoc}
     */
    public void setIbanComplet(String ibanComplet) {
        this.ibanComplet = ibanComplet;
    }

    /**
     * @return the iban1
     */
    public String getIban1() {
        return iban1;
    }

    /**
     * @param iban1 the iban1 to set
     */
    public void setIban1(String iban1) {
        this.iban1 = iban1;
    }

    /**
     * @return the iban2
     */
    public String getIban2() {
        return iban2;
    }

    /**
     * @param iban2 the iban2 to set
     */
    public void setIban2(String iban2) {
        this.iban2 = iban2;
    }

    /**
     * @return the iban3
     */
    public String getIban3() {
        return iban3;
    }

    /**
     * @param iban3 the iban3 to set
     */
    public void setIban3(String iban3) {
        this.iban3 = iban3;
    }

    /**
     * @return the iban4
     */
    public String getIban4() {
        return iban4;
    }

    /**
     * @param iban4 the iban4 to set
     */
    public void setIban4(String iban4) {
        this.iban4 = iban4;
    }

    /**
     * @return the iban5
     */
    public String getIban5() {
        return iban5;
    }

    /**
     * @param iban5 the iban5 to set
     */
    public void setIban5(String iban5) {
        this.iban5 = iban5;
    }

    /**
     * @return the iban6
     */
    public String getIban6() {
        return iban6;
    }

    /**
     * @param iban6 the iban6 to set
     */
    public void setIban6(String iban6) {
        this.iban6 = iban6;
    }

    /**
     * @return the iban7
     */
    public String getIban7() {
        return iban7;
    }

    /**
     * @param iban7 the iban7 to set
     */
    public void setIban7(String iban7) {
        this.iban7 = iban7;
    }

    /**
     * @return the iban8
     */
    public String getIban8() {
        return iban8;
    }

    /**
     * @param iban8 the iban8 to set
     */
    public void setIban8(String iban8) {
        this.iban8 = iban8;
    }

    /**
     * @return the iban9
     */
    public String getIban9() {
        return iban9;
    }

    /**
     * @param iban9 the iban9 to set
     */
    public void setIban9(String iban9) {
        this.iban9 = iban9;
    }

    /**
     * @return the bic
     */
    public String getBic() {
        return bic;
    }

    /**
     * @param bic the bic to set
     */
    public void setBic(String bic) {
        this.bic = bic;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean equals(Object obj) {
        if (obj instanceof CoordonneeBancaire) {
            ICoordonneeBancaire rib = (ICoordonneeBancaire) obj;
            if (this.numOrdre == rib.getNumOrdre()
                            || (this.numOrdre != null && this.numOrdre.equals(rib.getNumOrdre()))) {
                return true;
            }
        }
        return false;

    }

    /**
     * {@inheritDoc}
     */
    @Override
    public int hashCode() {
        int hash = 15;
        hash = 357 * hash + (null == this.numOrdre ? 0 : this.numOrdre.hashCode());
        return hash;
    }
}
